gtk4.git
5 years agox11: Add back support for the damage extension
Ray Strode [Wed, 27 May 2020 18:53:10 +0000 (14:53 -0400)]
x11: Add back support for the damage extension

commit 14bf58ec5dfdf19e3ca603b977626608dafc729b dropped support
for using the DAMAGE extension since there was no code that
needed it.

We're going to need it again, however, to address an NVidia
vendor driver issue.

This commit does the plumbing to add it back.

5 years agofilechooserwidget: Avoid an uninitialised value
Timm Bäder [Fri, 5 Jun 2020 04:26:56 +0000 (06:26 +0200)]
filechooserwidget: Avoid an uninitialised value

For NULL filters, we were never calling g_list_store_find, so leaving
filter_index undefined.

5 years agodemos: Avoid shadowing a global from time.h
Timm Bäder [Fri, 5 Jun 2020 04:26:25 +0000 (06:26 +0200)]
demos: Avoid shadowing a global from time.h

Sad but true.

5 years agofilterlistmodel: Fix fallthrough annotations in unreachable code
Timm Bäder [Fri, 5 Jun 2020 04:19:34 +0000 (06:19 +0200)]
filterlistmodel: Fix fallthrough annotations in unreachable code

They are only unreachable in debug builds but still break the build on
clang.

5 years agoMerge branch 'cleanup-snapshot-inhibit' into 'master'
Benjamin Otte [Fri, 5 Jun 2020 07:38:52 +0000 (07:38 +0000)]
Merge branch 'cleanup-snapshot-inhibit' into 'master'

reftest: Clean up reftest_inhibit_snapshot()

See merge request GNOME/gtk!2034

5 years agoMerge branch 'fix-quadratic-add' into 'master'
Timm Bäder [Fri, 5 Jun 2020 02:57:38 +0000 (02:57 +0000)]
Merge branch 'fix-quadratic-add' into 'master'

Avoid quadratic slowdown in gtk_widget_add()

See merge request GNOME/gtk!2027

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 4 Jun 2020 21:17:21 +0000 (21:17 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

more documentation for list widgets

See merge request GNOME/gtk!2039

5 years agoMerge branch 'fribidi-include' into 'master'
Matthias Clasen [Thu, 4 Jun 2020 20:03:13 +0000 (20:03 +0000)]
Merge branch 'fribidi-include' into 'master'

wayland: Remove unused fribidi include

See merge request GNOME/gtk!2037

5 years agodocs: Expand list widget docs
Matthias Clasen [Thu, 4 Jun 2020 19:33:53 +0000 (15:33 -0400)]
docs: Expand list widget docs

Begin to flesh out the long descriptions for GtkListView,
GtkGridView and GtkColumnView.

5 years agowayland: Remove unused fribidi include
Sebastian Keller [Thu, 4 Jun 2020 18:44:55 +0000 (20:44 +0200)]
wayland: Remove unused fribidi include

The included fribidi header is not used in gdkkeys-wayland.c and already
included in gdk.c which causes linker issues due to the header defining
a global variable.

5 years agogtk-demo: Cosmetics
Matthias Clasen [Thu, 4 Jun 2020 17:28:21 +0000 (13:28 -0400)]
gtk-demo: Cosmetics

Remove a few instances of double semicolon.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Thu, 4 Jun 2020 16:32:21 +0000 (16:32 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

gtk-demo: Allow editing in the settings demo

See merge request GNOME/gtk!2033

5 years agoMerge branch 'list-widget-styles' into 'master'
Matthias Clasen [Thu, 4 Jun 2020 16:27:37 +0000 (16:27 +0000)]
Merge branch 'list-widget-styles' into 'master'

List widget styles

Closes #2818

See merge request GNOME/gtk!2035

5 years agoMerge branch 'demo-drop-awards' into 'master'
Matthias Clasen [Thu, 4 Jun 2020 15:27:23 +0000 (15:27 +0000)]
Merge branch 'demo-drop-awards' into 'master'

gtk-demo: Drop the awards

See merge request GNOME/gtk!2036

5 years agoAvoid quadratic slowdown in gtk_widget_add()
Alexander Larsson [Thu, 4 Jun 2020 08:15:03 +0000 (10:15 +0200)]
Avoid quadratic slowdown in gtk_widget_add()

If you add a widget to a parent, this will invalidate the css nodes
for parent/siblings. Afterwards, if the parent is mapped, we will
realize the new child. This calls gtk_widget_update_alpha() which
needs the css opacity, so it revalidates the css.

Thus, for each widget_add (while visible) will trigger a full
revalidation of each sibling. If you add N children to a parent that
leads to O(N^2) revalidations.

To demo this I changed gtk-demo to always double the count
(independent of the fps) and print the time it took. Here is the
results (after a bit):

Setting fishbowl count=256 took 3,4 msec
Setting fishbowl count=512 took 10,1 msec
Setting fishbowl count=1024 took 34,1 msec
Setting fishbowl count=2048 took 126,3 msec
Setting fishbowl count=4096 took 480,3 msec
Setting fishbowl count=8192 took 1892,7 msec
Setting fishbowl count=16384 took 7751,0 msec
Setting fishbowl count=32768 took 38097,7 msec
Setting fishbowl count=65536 took 191987,7 msec

To fix this we drop gtk_widget_update_alpha() and just
calculate it when needed (which is only in a single place).
It was really only necessary because we previously set
the alpha on the surface.

With this fix the above becomes:

Setting fishbowl count=256 took 1,0 msec
Setting fishbowl count=512 took 1,9 msec
Setting fishbowl count=1024 took 3,7 msec
Setting fishbowl count=2048 took 7,4 msec
Setting fishbowl count=4096 took 18,1 msec
Setting fishbowl count=8192 took 31,0 msec
Setting fishbowl count=16384 took 66,3 msec
Setting fishbowl count=32768 took 126,7 msec
Setting fishbowl count=65536 took 244,6 msec
Setting fishbowl count=131072 took 492,2 msec
Setting fishbowl count=262144 took 984,3 msec

5 years agogtk-demo: Drop the awards
Matthias Clasen [Thu, 4 Jun 2020 14:19:44 +0000 (10:19 -0400)]
gtk-demo: Drop the awards

This was a neat idea, but maintaining it at a sufficient
level is too much work.

5 years agolist widgets: Document css structure
Matthias Clasen [Thu, 4 Jun 2020 14:05:17 +0000 (10:05 -0400)]
list widgets: Document css structure

We didn't fill in this expected part of the widget
documentation yet.

5 years agoMerge branch 'ensure-style-no-recurse' into 'master'
Benjamin Otte [Thu, 4 Jun 2020 14:04:55 +0000 (14:04 +0000)]
Merge branch 'ensure-style-no-recurse' into 'master'

Avoid recursion in gtk_css_node_ensure_style()

See merge request GNOME/gtk!2031

5 years agodocs: Fix a parameter name mismatch
Matthias Clasen [Thu, 4 Jun 2020 13:51:07 +0000 (09:51 -0400)]
docs: Fix a parameter name mismatch

5 years agoChange css names of list widget
Matthias Clasen [Thu, 4 Jun 2020 12:42:55 +0000 (08:42 -0400)]
Change css names of list widget

The new names are

GtkListView - listview row
GtkGridView - gridview child
GtkColumView - columnview header
               columnview listview row

Adwaita css has been updated to preserve
existing styles.

Fixes: #2818
5 years agoreftest: Clean up reftest_inhibit_snapshot()
Alexander Larsson [Thu, 4 Jun 2020 13:45:29 +0000 (15:45 +0200)]
reftest: Clean up reftest_inhibit_snapshot()

This was done in a weird way where we always call reftest_uninhibit_snapshot()
on paint, and then re-inhibited it if it wasn't inhibited. To make this
work it also started with an extra inhibit.

This is very contorted and based on how this historically worked. This
changes it to just do:

  if (inhibit_count > 0)
    return;

And keep inhibit_count at its initial zero value unless it is actually
inhibited.

5 years agoMerge branch 'fix-snapshot' into 'master'
Benjamin Otte [Thu, 4 Jun 2020 13:43:44 +0000 (13:43 +0000)]
Merge branch 'fix-snapshot' into 'master'

snapshot: Fix assert if paint gets scheduled immediately

See merge request GNOME/gtk!2032

5 years agogtk-demo: Allow editing in the settings demo
Matthias Clasen [Wed, 3 Jun 2020 23:33:45 +0000 (19:33 -0400)]
gtk-demo: Allow editing in the settings demo

This gives us an example of a columnview with editable
content, which we didn't have so far.

5 years agosnapshot: Fix assert in inhibition
Alexander Larsson [Thu, 4 Jun 2020 10:37:48 +0000 (12:37 +0200)]
snapshot: Fix assert in inhibition

In https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2027 i was getting

Bail out! ERROR:../testsuite/reftests/reftest-snapshot.c:212:reftest_uninhibit_snapshot: assertion failed: (inhibit_count > 0)

In (for example the box-shadow-changes-modify-clip reftest. I can reproduce this (on master) with:

```
$ xvfb-run -a -s "-screen 0 1024x768x24" meson test --suite gtk:reftest "reftest box-shadow-changes-modify-clip.ui"
...
1/1 gtk:reftest / reftest box-shadow-changes-modify-clip.ui ERROR          0.77s
``

Fix this by re-inhibiting if we didn't draw anything, or we will get an assert the next paint.

5 years agoMerge branch 'kjellahl/flowboxremove' into 'master'
Matthias Clasen [Thu, 4 Jun 2020 12:13:57 +0000 (12:13 +0000)]
Merge branch 'kjellahl/flowboxremove' into 'master'

flowbox: Don't use a removed and destroyed child

See merge request GNOME/gtk!2029

5 years agoMerge branch 'fishbowl-children' into 'master'
Matthias Clasen [Thu, 4 Jun 2020 12:10:51 +0000 (12:10 +0000)]
Merge branch 'fishbowl-children' into 'master'

gtk-demo: Avoid list for children in GtkFishBowl

See merge request GNOME/gtk!2030

5 years agoAvoid recursion in gtk_css_node_ensure_style()
Alexander Larsson [Thu, 4 Jun 2020 10:10:31 +0000 (12:10 +0200)]
Avoid recursion in gtk_css_node_ensure_style()

gtk_css_node_ensure_style() recurses over previous siblings to ensure
these have a style before its following sibling.  As seen in
https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2027 this can
cause us to stack overflow and crash if we have a lot of children.

And even if we don't have *that* many children its still somewhat
bad to have stack depths of the same magnitude as the number of
children, both for performance reasons and debuggability.

5 years agogtk-demo: Avoid list for children in GtkFishBowl
Alexander Larsson [Thu, 4 Jun 2020 10:06:42 +0000 (12:06 +0200)]
gtk-demo: Avoid list for children in GtkFishBowl

This is a demo that measures performance, so keep the child
info in a hashtable instead of a list. This means adding or removing
a child is not O(n-children).

5 years agoflowbox: Don't use a removed child after it has been unparented
Kjell Ahlstedt [Thu, 4 Jun 2020 09:23:46 +0000 (11:23 +0200)]
flowbox: Don't use a removed child after it has been unparented

In gtk_flow_box_remove(), call g_sequence_remove() before the child is unparented.

See MR !2029

5 years agoMerge branch 'santo/gtk4_spelling_fix' into 'master'
Timm Bäder [Thu, 4 Jun 2020 07:38:58 +0000 (07:38 +0000)]
Merge branch 'santo/gtk4_spelling_fix' into 'master'

docs: Fix spelling of GDK_VERSION_MIN_REQUIRED.

See merge request GNOME/gtk!2026

5 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 4 Jun 2020 07:18:01 +0000 (09:18 +0200)]
Updated Spanish translation

5 years agoUpdated Spanish translation
Daniel Mustieles [Thu, 4 Jun 2020 07:17:16 +0000 (09:17 +0200)]
Updated Spanish translation

5 years agodocs: Fix spelling of GDK_VERSION_MIN_REQUIRED.
Santosh Mahto [Thu, 4 Jun 2020 06:37:22 +0000 (12:07 +0530)]
docs: Fix spelling of GDK_VERSION_MIN_REQUIRED.

5 years agoMerge branch 'columnview-separators' into 'master'
Matthias Clasen [Wed, 3 Jun 2020 23:34:48 +0000 (23:34 +0000)]
Merge branch 'columnview-separators' into 'master'

Columnview separators

See merge request GNOME/gtk!2025

5 years agocolumnview: Add a property for column separators
Matthias Clasen [Wed, 3 Jun 2020 21:34:35 +0000 (17:34 -0400)]
columnview: Add a property for column separators

Rename the show-separators property to show-row-separators,
and add a matching show-column-separators property. It is
implemented by setting the .column-separators style class
on the column view.

5 years agolistview: Use gtk_widget_add_css_class
Matthias Clasen [Wed, 3 Jun 2020 21:36:52 +0000 (17:36 -0400)]
listview: Use gtk_widget_add_css_class

No need to use the style context api for this anymore.

5 years agosettings demo: Don't select rows
Matthias Clasen [Wed, 3 Jun 2020 20:56:19 +0000 (16:56 -0400)]
settings demo: Don't select rows

We want no selection here, so use GtkNoSelection.

5 years agoMerge branch 'columnview-printdialog' into 'master'
Matthias Clasen [Wed, 3 Jun 2020 21:47:58 +0000 (21:47 +0000)]
Merge branch 'columnview-printdialog' into 'master'

Port the printdialog to column view

See merge request GNOME/gtk!2010

5 years agoMerge branch 'columnview-rubberbanding' into 'master'
Matthias Clasen [Wed, 3 Jun 2020 21:46:13 +0000 (21:46 +0000)]
Merge branch 'columnview-rubberbanding' into 'master'

columnview: Implement rubberbanding

See merge request GNOME/gtk!2008

5 years agoMerge branch 'columnview-expand' into 'master'
Matthias Clasen [Wed, 3 Jun 2020 21:39:33 +0000 (21:39 +0000)]
Merge branch 'columnview-expand' into 'master'

columnview: Implement expanding columns

See merge request GNOME/gtk!2007

5 years agoMerge branch 'columnview-reordering' into 'master'
Matthias Clasen [Wed, 3 Jun 2020 21:38:59 +0000 (21:38 +0000)]
Merge branch 'columnview-reordering' into 'master'

columnview: Implement interactive reordering

See merge request GNOME/gtk!2006

5 years agoMerge branch 'columnview-resizing' into 'master'
Matthias Clasen [Wed, 3 Jun 2020 20:04:17 +0000 (20:04 +0000)]
Merge branch 'columnview-resizing' into 'master'

columnview: Implement interactive resizing

See merge request GNOME/gtk!2004

5 years agoMerge branch 'columnview-scrolling' into 'master'
Matthias Clasen [Wed, 3 Jun 2020 19:50:59 +0000 (19:50 +0000)]
Merge branch 'columnview-scrolling' into 'master'

columnview: Implement horizontal scrolling

See merge request GNOME/gtk!1998

5 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Wed, 3 Jun 2020 17:40:26 +0000 (17:40 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

Wip/otte/for master

See merge request GNOME/gtk!2024

5 years agoprintdialog: Port to column view
Matthias Clasen [Sun, 22 Dec 2019 23:09:54 +0000 (18:09 -0500)]
printdialog: Port to column view

5 years agogtk-demo: Make gridview demo use rubberbanding
Matthias Clasen [Mon, 23 Dec 2019 19:57:39 +0000 (14:57 -0500)]
gtk-demo: Make gridview demo use rubberbanding

5 years agoAdd rubberband api
Matthias Clasen [Mon, 23 Dec 2019 19:47:19 +0000 (14:47 -0500)]
Add rubberband api

Add an ::enable-rubberband property to GtkListView,
GtkGridView and GtkColumnView.

5 years agolistbase: Simplify rubberbanding
Matthias Clasen [Wed, 3 Jun 2020 12:20:08 +0000 (08:20 -0400)]
listbase: Simplify rubberbanding

The new approach is:
 - plain: clear and start a new selection
 - extend: add to the existing selection
 - modify: subtract from the existing selection

5 years agolistbase: Split off rubberband data
Matthias Clasen [Tue, 2 Jun 2020 17:37:32 +0000 (13:37 -0400)]
listbase: Split off rubberband data

5 years agolistbase: Use a widget for the rubberband
Matthias Clasen [Tue, 2 Jun 2020 16:42:53 +0000 (12:42 -0400)]
listbase: Use a widget for the rubberband

We no longer need to juggle manual css nodes. Just create
a widget for the rubberband, and update its allocation
as we rubberband.

5 years agoAdd autoscroll
Matthias Clasen [Tue, 2 Jun 2020 15:43:02 +0000 (11:43 -0400)]
Add autoscroll

This is an expected feature with rubberband selection:
as you get close to the edge while doing rubberband
selection, the list scrolls to extend your selection.

5 years agolistbase: Add rubberband selection
Matthias Clasen [Sun, 22 Dec 2019 00:07:11 +0000 (19:07 -0500)]
listbase: Add rubberband selection

Implement the typical rubberband selection, including
autoscroll. This is only useful with multiselection,
and not very compatible with single-click-activate.
Therefore, it is not enabled by default, and needs
to be turned on explicitly.

5 years agoAdd GtkMultiSelection
Matthias Clasen [Mon, 9 Dec 2019 06:19:38 +0000 (01:19 -0500)]
Add GtkMultiSelection

This is implemented using a private GtkSet helper.

Includes tests.

5 years agogtk-demo: Expand columns in the settings demo
Matthias Clasen [Wed, 3 Jun 2020 17:16:14 +0000 (13:16 -0400)]
gtk-demo: Expand columns in the settings demo

Expand the columns that are likely to appear
at the end.

5 years agoinspector: Expand the actions list
Matthias Clasen [Tue, 24 Dec 2019 16:14:37 +0000 (11:14 -0500)]
inspector: Expand the actions list

5 years agoinspector: Expand the resource list
Matthias Clasen [Tue, 24 Dec 2019 16:12:49 +0000 (11:12 -0500)]
inspector: Expand the resource list

This is an experiment with adding a filler column.

5 years agoinspector: Expand the property list
Matthias Clasen [Tue, 24 Dec 2019 16:12:22 +0000 (11:12 -0500)]
inspector: Expand the property list

It looks better this way.

5 years agoinspector: Expand the object tree
Matthias Clasen [Tue, 24 Dec 2019 16:11:51 +0000 (11:11 -0500)]
inspector: Expand the object tree

This is how it used to look, and it looks better that way.

5 years agocolumnview: Take expand into account
Matthias Clasen [Mon, 23 Dec 2019 04:10:46 +0000 (23:10 -0500)]
columnview: Take expand into account

When allocating columns, distribute extra space
to columns that have expand set to TRUE.

5 years agocolumnview: Add a GtkColumnViewColumn:expand property
Matthias Clasen [Mon, 23 Dec 2019 04:10:01 +0000 (23:10 -0500)]
columnview: Add a GtkColumnViewColumn:expand property

This will be used to determine how to distribute
available extra space in a column view.

5 years agocolumnview: Add autoscroll
Matthias Clasen [Sat, 21 Dec 2019 05:24:55 +0000 (00:24 -0500)]
columnview: Add autoscroll

Autoscroll when the pointer gets close to the
edge during column resizing or reordering. This
is similar to what the treeview does, but it is
implemented using a tick callback, and has
variable speed.

5 years agocolumnview: Allow to cancel reorder with Escape
Matthias Clasen [Sat, 21 Dec 2019 00:24:01 +0000 (19:24 -0500)]
columnview: Allow to cancel reorder with Escape

The treeview does this too.

5 years agocolumnview: Interactive column reordering
Matthias Clasen [Fri, 20 Dec 2019 22:29:35 +0000 (17:29 -0500)]
columnview: Interactive column reordering

Allow rearranging columns by dragging, in the same
way the treeview does.

We add the "dnd" style class to the header while
it is dragged, and we move the header of the dragged
column to the end of its parents children, so that
it gets drawn on top.

5 years agocolumnview: Add a GtkColumnView:reorderable property
Matthias Clasen [Wed, 3 Jun 2020 16:57:38 +0000 (12:57 -0400)]
columnview: Add a GtkColumnView:reorderable property

This property controls if users can reorder columns
by drag-and-drop. It defaults to TRUE.

5 years agocolumnviewlayout: Use header allocation for titles
Matthias Clasen [Fri, 20 Dec 2019 22:28:37 +0000 (17:28 -0500)]
columnviewlayout: Use header allocation for titles

Normally, this will be identical to the column
allocation, but we will temporarily change it
during column reordering.

5 years agocolumnviewcolumn: Add reordering helpers
Matthias Clasen [Fri, 20 Dec 2019 22:19:55 +0000 (17:19 -0500)]
columnviewcolumn: Add reordering helpers

Add helper functions that let us temporarily give
a different allocation to headers. These will be
used to implement interactive column reordering
in GtkColumnView.

5 years agocolumnviewtitle: Trigger action on release
Matthias Clasen [Fri, 20 Dec 2019 20:46:01 +0000 (15:46 -0500)]
columnviewtitle: Trigger action on release

This is necessary to make drag-to-reorder work
without triggering resorting.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Wed, 3 Jun 2020 17:30:19 +0000 (17:30 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

gtk-demo: Add a dropdown demo

See merge request GNOME/gtk!2023

5 years agogtk-demo: Make some columns resizable
Matthias Clasen [Wed, 3 Jun 2020 16:30:55 +0000 (12:30 -0400)]
gtk-demo: Make some columns resizable

Make the columns in the List > Settings demo
resizable, to demonstrate this functionality.

5 years agocolumnview: Interactive column resizing
Matthias Clasen [Mon, 1 Jun 2020 12:10:13 +0000 (08:10 -0400)]
columnview: Interactive column resizing

This copies just enough of the treeview code to
get columns moving.

5 years agocolumnviewcolumn: Add a helper
Matthias Clasen [Sat, 21 Dec 2019 04:01:55 +0000 (23:01 -0500)]
columnviewcolumn: Add a helper

We need to check whether clicks are in the headers
of columns, so let the column view get at the the
header widget.

5 years agocolumnview: Add a GtkColumnViewColumn:resizable property
Matthias Clasen [Fri, 20 Dec 2019 19:07:14 +0000 (14:07 -0500)]
columnview: Add a GtkColumnViewColumn:resizable property

This will be used for interactive column resizing
in the future.

5 years agocolumnview: Add a helper
Matthias Clasen [Wed, 18 Dec 2019 17:51:15 +0000 (12:51 -0500)]
columnview: Add a helper

The column code needs to get access to the
listitem widgets that are children of the listview,
so add a getter.

5 years agocolumnview: Add GtkColumnViewColumn:fixed-width
Matthias Clasen [Mon, 1 Jun 2020 01:07:38 +0000 (21:07 -0400)]
columnview: Add GtkColumnViewColumn:fixed-width

Add a fixed-width property similar to the same property
of GtkTreeViewColumn.

5 years agocolumnview: Implement horizontal scrolling
Matthias Clasen [Mon, 1 Jun 2020 01:09:00 +0000 (21:09 -0400)]
columnview: Implement horizontal scrolling

The listview inside always thinks it gets its full size,
and updates its horizontal adjustment accordingly.

So keep our own adjustment, and update it when allocating.

5 years agocolumnview: Revise scroll-minimum handling
Matthias Clasen [Tue, 17 Dec 2019 00:22:03 +0000 (19:22 -0500)]
columnview: Revise scroll-minimum handling

Tweak the behavior slightly. We don't show
a scrollbar as long as we have at least
min-size available, but we still give the
entire size to the child, up to nat-size.

This matches how viewports handle scroll-minimum.

5 years agoMerge branch 'wip/otte/for-master' into 'master'
Benjamin Otte [Wed, 3 Jun 2020 16:33:54 +0000 (16:33 +0000)]
Merge branch 'wip/otte/for-master' into 'master'

Wip/otte/for master

See merge request GNOME/gtk!2022

5 years agolistbase: Don't grab_focus() when moving focus
Benjamin Otte [Wed, 3 Jun 2020 16:12:49 +0000 (18:12 +0200)]
listbase: Don't grab_focus() when moving focus

We want to call gtk_widget_child_focus() to have Tab focus the right
widget.

5 years agolistitemwidget: Fix focus handling for columnview
Benjamin Otte [Wed, 3 Jun 2020 16:12:00 +0000 (18:12 +0200)]
listitemwidget: Fix focus handling for columnview

ListItemWidget needs to be aware of potentially having multiple
children, so make it aware.

5 years agoMerge branch 'columnview-menu' into 'master'
Matthias Clasen [Wed, 3 Jun 2020 15:51:26 +0000 (15:51 +0000)]
Merge branch 'columnview-menu' into 'master'

columnview: Add header menus

See merge request GNOME/gtk!2001

5 years agolistbase: Fix leak
Benjamin Otte [Wed, 3 Jun 2020 15:49:04 +0000 (17:49 +0200)]
listbase: Fix leak

We were leaking the temporary tracker here.

5 years agogtk-demo: Add a dropdown demo
Matthias Clasen [Wed, 3 Jun 2020 15:31:34 +0000 (11:31 -0400)]
gtk-demo: Add a dropdown demo

This shows a few examples of GtkDropDown.
Mostly taken from tests/testdropdown.c.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Wed, 3 Jun 2020 15:11:59 +0000 (15:11 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

selection model: Further documentation tweaks

See merge request GNOME/gtk!2021

5 years agocolumnview: Make sure focus can move into cells
Benjamin Otte [Wed, 3 Jun 2020 14:55:39 +0000 (16:55 +0200)]
columnview: Make sure focus can move into cells

The cells themselves should never be focusable though.

5 years agoffmediafile: Add fixes for recent cflags changes
Benjamin Otte [Fri, 29 May 2020 20:07:17 +0000 (22:07 +0200)]
ffmediafile: Add fixes for recent cflags changes

Related: #2771

5 years agoselection model: Further documentation tweaks
Matthias Clasen [Wed, 3 Jun 2020 11:51:29 +0000 (07:51 -0400)]
selection model: Further documentation tweaks

Reword this to use plain language instead of throwing
arond reentrancy and ordering.

5 years agoMerge branch 'selection-model-docs' into 'master'
Matthias Clasen [Wed, 3 Jun 2020 05:27:46 +0000 (05:27 +0000)]
Merge branch 'selection-model-docs' into 'master'

selectionmodel: Clarify docs

Closes #2806

See merge request GNOME/gtk!2017

5 years agoselectionmodel: Clarify docs
Matthias Clasen [Tue, 2 Jun 2020 15:14:21 +0000 (11:14 -0400)]
selectionmodel: Clarify docs

Clarify some things that were not clear to me before
discussing them.

Fixes: #2806
5 years agoMerge branch 'carlosgc/emoji-chooser-fixes' into 'master'
Matthias Clasen [Tue, 2 Jun 2020 16:06:47 +0000 (16:06 +0000)]
Merge branch 'carlosgc/emoji-chooser-fixes' into 'master'

Fix emoji chooser warnings on destroy

See merge request GNOME/gtk!2016

5 years agoemojichooser: Unparent the variations popup on dispose and before adding a new one
Carlos Garcia Campos [Tue, 2 Jun 2020 14:35:13 +0000 (16:35 +0200)]
emojichooser: Unparent the variations popup on dispose and before adding a new one

This was causing warnings when destroying the emoji chooser because it
had children left.

5 years agotextview: Unparent the emoji chooser on dispose
Carlos Garcia Campos [Tue, 2 Jun 2020 14:32:13 +0000 (16:32 +0200)]
textview: Unparent the emoji chooser on dispose

This was causing the warning "GtkEmojiChooser is not a child of
GtkTextView" when destroying a GtkTextView if the emoji chooser was
shown.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 2 Jun 2020 04:30:29 +0000 (04:30 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

Cosmetic improvements to the filebrowser demo

See merge request GNOME/gtk!2015

5 years agoCosmetic improvements to the filebrowser demo
Matthias Clasen [Tue, 2 Jun 2020 03:12:01 +0000 (23:12 -0400)]
Cosmetic improvements to the filebrowser demo

Make it look good.

5 years agoAdd more columns to the settings demo
Matthias Clasen [Mon, 1 Jun 2020 18:46:12 +0000 (14:46 -0400)]
Add more columns to the settings demo

Flesh out this demo more, so we can have a
non-trivial column editor here at some point.

5 years agoAdd a header menu to settings demo
Matthias Clasen [Sun, 31 May 2020 18:44:42 +0000 (14:44 -0400)]
Add a header menu to settings demo

Allow toggling column visibility from here.

5 years agocolumnviewtitle: Display a context menu
Matthias Clasen [Sun, 22 Dec 2019 03:21:27 +0000 (22:21 -0500)]
columnviewtitle: Display a context menu

When the ::header-menu property is set on the
column, use the menu model to create and show
a context menu.

5 years agocolumnviewcolumn: Add a menu property
Matthias Clasen [Sun, 22 Dec 2019 03:20:42 +0000 (22:20 -0500)]
columnviewcolumn: Add a menu property

Add a ::header-menu property that will be used
to create a context menu for the header of the
column.

5 years agoMerge branch 'matthiasc/for-master' into 'master'
Matthias Clasen [Tue, 2 Jun 2020 00:07:45 +0000 (00:07 +0000)]
Merge branch 'matthiasc/for-master' into 'master'

print backend: Fix list model handling in dispose

See merge request GNOME/gtk!2013

5 years agoMerge branch 'ebassi/expression-type' into 'master'
Matthias Clasen [Mon, 1 Jun 2020 22:48:26 +0000 (22:48 +0000)]
Merge branch 'ebassi/expression-type' into 'master'

Ebassi/expression type

See merge request GNOME/gtk!2014

5 years agoAdded Slovenian translation
Matej Urbančič [Mon, 1 Jun 2020 20:19:55 +0000 (22:19 +0200)]
Added Slovenian translation